Existential Types for Imperative Languages: Technical Results

نویسنده

  • Dan Grossman
چکیده

This technical report contains the full type-safety proof for the language presented in the paper Existential Types for Imperative Languages, originally submitted for publication in October 2001. Because this report should be read only after the paper, effectively as an appendix, we do not repeat the motivation, examples, and informal presentation contained there. Also refer to the paper for related work and a bibliography. We do repeat the figures and definitions so that this report comprises a self-contained proof.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Existential Types for Imperative Languages

We integrate existential types into a strongly typed C-like language. In particular, we show how a bad combination of existential types, mutation, and aliasing can cause a subtle violation of type safety. We explore two independent ways to strengthen the type system to restore safety. One restricts the mutation of existential packages. The other restricts the types of aliases of existential pac...

متن کامل

Pattern Matching via Choice Existential Quantifications in Imperative Languages

Selection statements – if-then-else, switch and try-catch – are commonly used in modern imperative programming languages. We propose another selection statement called a choice existentially quantified statement. This statement turns out to be quite useful for pattern matching among several merits. Examples will be provided for this statement. keywords: selection, pattern matching, choice quant...

متن کامل

Dynamic Typing in Polymorphic Languages Dynamic Typing in Polymorphic Languages Digital Equipment Corporation 1994

matching protects the identity of \hidden" representation types and prevents accidental matches in cases where several abstract types happen to have the same representation. On the other hand, transparent matching allows a more permissive style of programming, where a dynamically typed value of some abstract type is considered to be a value of a di erent version of \the same" abstract type. Thi...

متن کامل

An Imperative Core Calculus for Java

This technical report presents the specification of a programming language Cool: the Core Object-Oriented Language. Cool is a small language but retains many of the features of modern class-based object-oriented languages, including primitive types, classes, inheritance, objects, instance variables and methods, dynamic method binding, null and arrays, etc.. The specification for Cool in this re...

متن کامل

Genus: Making Generics Object-Oriented, Expressive, and Lightweight Technical Report

The support for generic programming in modern object-oriented programming languages is awkward and lacks desirable expressive power. We introduce an expressive genericity mechanism that adds expressive power and strengthens static checking, while remaining lightweight and simple in common use cases. Like type classes and concepts, the mechanism allows existing types to model type constraints re...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001